# -*- coding: utf-8 -*-
import json
import os
import re
from typing import Mapping

import anthropic

# os.environ["http_proxy"]= "http://localhost:21882"
# os.environ["https_proxy"]= "http://localhost:21882"
client = anthropic.Anthropic(
    default_headers={"anthropic-beta": "max-tokens-3-5-sonnet-2024-07-15"},
    base_url="http://47.253.52.149:81",
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="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", #可用
    # api_key="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", #不可用，余额低
    # api_key="sk-proj-AoCzd8nEbyHcrjhOqqXxT3BlbkFJYoNv4pLHdipbN7sPfEIT", # openai key
)

def chat(messages):
    message = client.messages.create(
        model="claude-3-5-sonnet-20240620",
        # model="claude-3-sonnet-20240229",
        # model="claude-3-haiku-20240307",
        max_tokens=8192,
        temperature=0.95,
        system="我现在是一个AI写作助手，可以在写小说、剧本编辑、短剧等方面提供帮助",
        messages=messages
    )
    total_tokens = message.usage.input_tokens + message.usage.output_tokens
    answer = message.content[0].text.replace("Claude", "AI编辑")
    answer = answer.replace("claude", "AI编辑")
    answer = answer.replace("Anthropic", "")
    answer = answer.replace("anthropic", "")
    return {"answer": answer,
            "input_tokens": message.usage.input_tokens,
            "output_tokens": message.usage.output_tokens,
            "total_tokens": total_tokens
            }

# message_postfix = "\n根据分场内容创作分场剧本，创作要求：1.剧本内容需要根据分场的时间、地点、人物、分场概述来创作 2.剧本内容需要包括旁白描述及人物对话台词，注意需要多一些旁白描述场景环境及人物体态 3.剧本内容可以参考剧本格式，每一段旁白描述前使用△ 标识   \n\n请根据要求开始分场十三的剧本创作，人物之间对话需要比旁白内容多且字数不少于3000字"
message_prefix = '''<p>第1章 神秘古书</p><p><br></p><p>李明从未想过，一本古旧的书籍会彻底改变他的人生。</p><p><br></p><p>那是个阳光明媚的周六下午，李明百无聊赖地在校园里闲逛。他是个普通的大三学生，除了偶尔为即将到来的期末考试发愁外，生活平淡如水。就在他准备回宿舍打游戏时，一家从未注意过的小书店吸引了他的目光。</p><p><br></p><p>店面狭小，门口挂着"老陈书店"的牌子，看起来有些年头了。李明推开吱呀作响的木门，一股淡淡的墨香扑面而来。书店内部比想象中要宽敞，但光线昏暗，只有几盏老式台灯散发着柔和的黄光。</p><p><br></p><p>"有人吗？"李明轻声问道，没有得到回应。他耸耸肩，开始浏览着密密麻麻的书架。大多是些旧书，有些甚至看起来像是古籍。正当他准备离开时，一本没有书名的黑皮书引起了他的注意。</p><p><br></p><p>李明小心翼翼地取下那本书，翻开第一页，上面写着几行奇怪的符号，看起来像某种古老的文字。就在这时，一个沙哑的声音在他耳边响起："你找到了它。"</p><p><br></p><p>李明吓了一跳，差点把书摔在地上。他转身看到一位头发花白的老人，想必就是书店老板老陈了。</p><p><br></p><p>"这本书...很特别吗？"李明好奇地问。</p><p><br></p><p>老陈神秘地笑了笑，"每本书都有它的故事，而这本书的故事，或许会成为你的故事。"</p><p><br></p><p>李明有些摸不着头脑，但莫名地被这本书吸引。"我能买下它吗？"</p><p><br></p><p>"当然，如果它选择了你的话。"老陈的回答更加令人费解。</p><p><br></p><p>李明付了钱，将书小心地放入背包。走出书店时，他回头望了一眼，却发现店门紧闭，仿佛从未开过。</p><p><br></p><p>回到宿舍，李明迫不及待地再次翻开那本神秘的书。然而，令他惊讶的是，之前看到的奇怪符号已经消失不见，取而代之的是一段他能够理解的文字：</p><p><br></p><p>"观其华，察其实。虚实相生，因果相随。"</p><p><br></p><p>李明反复咀嚼着这句话，突然感到一阵眩晕。他闭上眼睛，再次睁开时，世界仿佛变了样。</p><p><br></p><p>宿舍里的一切都笼罩在一层朦胧的光晕中，物体的轮廓变得模糊不清。更令人吃惊的是，他居然能看到室友小芳身上散发出的淡蓝色光芒，那光芒随着她的呼吸起伏。</p><p><br></p><p>"小芳，你...你身上怎么会发光？"李明惊恐地问道。</p><p><br></p><p>小芳一脸困惑，"什么光？李明，你没事吧？"</p><p><br></p><p>李明揉了揉眼睛，再次睁开时，一切又恢复了正常。他摇摇头，"没事，可能是我太累了。"</p><p><br></p><p>接下来的几天，类似的情况时有发生。李明有时能看到人们身上的"光芒"，有时甚至能看到墙壁后面的景象。更奇怪的是，他发现自己只要集中注意力，就能轻微地改变周围的环境，比如让桌上的笔自己移动。</p><p><br></p><p>这些异常的经历让李明既兴奋又恐惧。他不知道是否应该告诉别人，害怕被当成疯子。就在他纠结不已时，一个意外的发现让他更加困惑。</p><p><br></p><p>在一次英语课上，李明无意中发现他能看穿同学苏雨的"伪装"。在他的视线中，苏雨的周围笼罩着一层淡紫色的光晕，与其他同学截然不同。更令人吃惊的是，当苏雨转过头来时，她的目光中闪过一丝惊讶，仿佛也看到了什么不寻常的东西。</p><p><br></p><p>下课后，李明鼓起勇气上前搭话："苏雨，我...我想问你一个问题。"</p><p><br></p><p>苏雨警惕地看着他，"什么问题？"</p><p><br></p><p>李明深吸一口气，"你有没有发现最近...世界变得有些不一样？"</p><p><br></p><p>苏雨的眼神突然变得锐利，"你看到了什么？"</p><p><br></p><p>"我看到了光...还有一些不应该存在的东西。"李明压低声音说道。</p><p><br></p><p>苏雨沉默了一会，然后严肃地说："李明，跟我来。我们需要好好谈谈。"</p><p><br></p><p>她带着李明来到了一个僻静的角落，四下张望确认没人注意后，苏雨轻声说："你是怎么获得这种能力的？"</p><p><br></p><p>李明愣住了，"你...你知道这是怎么回事？"</p><p><br></p><p>苏雨点点头，"我原本以为你只是个普通人，没想到你居然觉醒了。告诉我，你最近有接触过什么特别的东西吗？"</p><p><br></p><p>李明想了想，说出了那本神秘的书的事。苏雨听完，脸色变得更加凝重。</p><p><br></p><p>"李明，你要小心。你现在处于一个非常危险的境地。那本书很可能是一件强大的魔法物品，而你，已经踏入了一个你完全不了解的世界。"</p><p><br></p><p>"魔法？"李明难以置信地重复道，"你是说...魔法是真实存在的？"</p><p><br></p><p>苏雨微微一笑，"不仅存在，而且就在我们身边。只是大多数人看不到罢了。"她伸出手，掌心突然出现了一枝细细的藤蔓。</p><p><br></p><p>李明目瞪口呆地看着晃动的藤蔓，一时不知该说什么。</p><p><br></p><p>"从现在开始，你要格外小心。"苏雨认真地说，"有人可能会注意到你的存在，而他们不一定怀着善意。我会尽力保护你，教你如何控制你的能力。但是记住，不要轻易相信任何人，包括我。"</p><p><br></p><p>李明点点头，内心充满了困惑和不安。他知道，自己的生活从此再也不会平静了。</p><p><br></p><p>就在他们准备离开时，李明突然感到一阵强烈的眩晕。他的视线开始扭曲，周围的景象变得模糊不清。隐约中，他似乎看到了一个模糊的人影正在远处注视着他们。</p><p><br></p><p>"苏雨，那里..."李明刚想提醒，眩晕感却更加强烈。他踉跄了一下，差点摔倒。</p><p><br></p><p>苏雨赶紧扶住他，警惕地环顾四周。"怎么了？你看到什么了？"</p><p><br></p><p>李明摇摇头，努力让自己平静下来。当他再次睁开眼睛时，那个神秘的人影已经消失不见。</p><p><br></p><p>"可能...可能只是我的错觉。"李明喃喃道，但内心却升起一种不祥的预感。</p><p><br></p><p>苏雨皱起眉头，"不管你看到了什么，我们都要万分小心。你现在的状态很不稳定，我们得尽快找个安全的地方。"</p><p><br></p><p>就在这时，李明的手机突然响了。他掏出手机一看，是一条陌生号码发来的短信：</p><p><br></p><p>"命运的齿轮已经开始转动。准备好了吗，年轻的魔法师？"</p><p><br></p><p>李明和苏雨对视一眼，都从对方的眼中看到了震惊和困惑。他们知道，一场未知的冒险正等待着他们，而这仅仅是开始。</p>'''
if __name__ == '__main__':
    messages = []
    s = input('please input:')  # 获取用户输入
    while s != 'exit':  # 如果用户输入的不是'exit'
        # print(messages)
        messages.append({
                "role": "user",
                "content": [
                    {
                        "type": "text",
                        "text": message_prefix+'/n'+s
                    }
                ]
            })
        ans = chat(messages)  # 调用get_ans函数获取答案
        print(ans.get("answer"))  # 打印答案
        messages.append({
            "role": "assistant",
            "content": [
                {
                    "type": "text",
                    "text": ans.get("answer")
                }
            ]
        })
        s = input('please input:')  # 获取用户输入